home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / c / flash-0.4.3.lha / flash-0.4.3 / Lib / displaylist.h < prev    next >
C/C++ Source or Header  |  1999-02-21  |  2KB  |  56 lines

  1. /////////////////////////////////////////////////////////////
  2. // Flash Plugin and Player
  3. // Copyright (C) 1998 Olivier Debon
  4. // 
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. // 
  10. // This program is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. // GNU General Public License for more details.
  14. // 
  15. // You should have received a copy of the GNU General Public License
  16. // along with this program; if not, write to the Free Software
  17. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  18. // 
  19. ///////////////////////////////////////////////////////////////
  20. #ifndef _DISPLAYLIST_H_
  21. #define _DISPLAYLIST_H_
  22.  
  23. #include "graphic.h"
  24.  
  25. class Character;
  26.  
  27. // Display List management
  28. struct DisplayListEntry {
  29.     Character        *character;
  30.     long             depth;
  31.     Matrix            *matrix;
  32.     Cxform            *cxform;
  33.  
  34.     DisplayListEntry    *next;
  35. };
  36.  
  37. class DisplayList {
  38.     DisplayListEntry    *list;
  39.     Color            *bg;
  40.  
  41. public:
  42.     DisplayList();
  43.     ~DisplayList();
  44.     DisplayListEntry    *getList();
  45.     void             clearList();
  46.     void             placeObject(Character *character, long depth, Matrix *matrix = 0, Cxform *cxform = 0);
  47.     Character        *removeObject(Character *character, long depth);
  48.     Character        *removeObject(long depth);
  49.  
  50.     ActionRecord        *processEvent(GraphicDevice *gd, FlashEvent *event);
  51.     int             render(GraphicDevice *gd, Matrix *m = 0);
  52.     void             setBackgroundColor(Color *color);
  53. };
  54.  
  55. #endif /* _DISPLAYLIST_H_ */
  56.